Directory.Move(String, String) 方法 (System.IO) 您所在的位置:网站首页 vs 添加dll路径 Directory.Move(String, String) 方法 (System.IO)

Directory.Move(String, String) 方法 (System.IO)

2023-05-01 17:41| 来源: 网络整理| 查看: 265

将文件或目录及其内容移到新位置。

public: static void Move(System::String ^ sourceDirName, System::String ^ destDirName); public static void Move (string sourceDirName, string destDirName); static member Move : string * string -> unit Public Shared Sub Move (sourceDirName As String, destDirName As String) 参数 sourceDirName String

要移动的文件或目录的路径。

destDirName String

或其内容的新位置 sourceDirName 的路径。 如果 sourceDirName 是文件,那么 destDirName 也必须是文件名。

例外 IOException

尝试将目录移动到不同的卷。

- 或 -

destDirName 已存在。 请参阅“备注”部分中的备注。

- 或 -

sourceDirName 和 destDirName 参数引用同一个文件或目录。

- 或 -

另一个进程正在使用目录或其中一个文件。

UnauthorizedAccessException

调用方没有所要求的权限。

ArgumentException

.NET Framework 和 .NET Core 版本早于 2.1:sourceDirName或 destDirName 为零长度字符串,仅包含空格,或包含一个或多个无效字符。 你可以使用 GetInvalidPathChars() 方法查询无效字符。

ArgumentNullException

sourceDirName 或 destDirName 为 null。

PathTooLongException

指定的路径和/或文件名超过了系统定义的最大长度。

DirectoryNotFoundException

sourceDirName 指定的路径无效(例如,它位于未映射的驱动器上)。

示例

以下示例演示如何将目录及其所有文件移动到新目录。 原始目录在移动后不再存在。

using System; using System.IO; namespace ConsoleApplication { class Program { static void Main(string[] args) { string sourceDirectory = @"C:\source"; string destinationDirectory = @"C:\destination"; try { Directory.Move(sourceDirectory, destinationDirectory); } catch (Exception e) { Console.WriteLine(e.Message); } } } } open System.IO let sourceDirectory = @"C:\source" let destinationDirectory = @"C:\destination" try Directory.Move(sourceDirectory, destinationDirectory) with e -> printfn $"{e.Message}" Imports System.IO Module Module1 Sub Main() Dim sourceDirectory As String = "C:\source" Dim destinationDirectory As String = "C:\destination" Try Directory.Move(sourceDirectory, destinationDirectory) Catch e As Exception Console.WriteLine(e.Message) End Try End Sub End Module 注解

此方法使用 指定 destDirName 的名称创建一个新目录,并将 的内容 sourceDirName(包括文件和目录)移动到新创建的目标目录。 然后,它会删除该 sourceDirName 目录。

如果尝试将目录移动到已存在的目录, IOException 将发生 。

sourceDirName允许 和 destDirName 参数指定相对路径信息或绝对路径信息。 相对路径信息被解释为相对于当前工作目录。 若要获取当前工作目录,请参阅 GetCurrentDirectory。

在移动目录之前,将从路径参数的末尾删除尾随空格。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。

注意

从 .NET Core 3.0 开始, Move 方法会在已存在时destDirName在所有平台中引发 IOException 。 在 .NET Core 2.2 和早期版本中,仅在 Windows 上引发异常,其他平台可能会失败或覆盖 destDirName。 请参阅 C++ 重命名。

适用于 另请参阅 文件和流 I/O 如何:从文件中读取文本 如何:将文本写入文件


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有